Providing targeted content can be beneficial to both the provider and the recipient. For example, in an advertising context, both the advertiser and the consumer benefit from targeted advertisements. In this example, the targeted content is the advertisement itself. In this example, the consumer receives ads that are relevant to his or her interests and the advertiser gets improved response to those targeted ads. In order to provide targeted content, the provider must both possess and effectively utilize information about the recipient and further the provider must also posses and effectively utilize information about the content from which the selected content will be selected or generated.
Accordingly, it may be beneficial to provide targeted content, such as, for example, targeted advertisements on a web page, in an e-mail or other electronic or non-electronic formats. However, there are known problems in scenarios such as these in both acquiring information about the recipient of the advertisements and effectively utilizing that information to provide relevant targeted advertisements.
The problem of acquiring information about a recipient, and specifically a recipient of advertisements, is known as a classification problem. A significant portion of this classification problem is in classifying the current context of the recipient. There are two common approaches to the context classification problem typically associated with providing targeted content, particularly in providing targeted advertising: the bucket of words approach and natural language processing.
The bucket of words approach utilizes a context independent analysis of text to determine which words are being used more often than statistically expected in order to determine the subject matter of the text. This approach can be applied to both the web page content and the advertisement content. For example, through analysis of a web page it may be determined that the words “allergy” and “pollen” appear more often than statistically expected. The bucket of words approach interprets the occurrence of these words as demonstrating that the web page content is related to seasonal allergies. The content provider may then use the results of that analysis to determine that visitors to this web page are more likely than the general population to be interested in advertisements regarding seasonal allergy medication and provide an appropriately targeted advertisement. Unfortunately, the bucket of words solution is a fairly inaccurate solution in that the words are analyzed without regard to context and relationship to other words on the web page. This solution often does not provide strong contextual relationships and the results can be skewed heavily by inadequate and/or false information and, therefore, is not optimally targeted.
The natural language processing approach utilizes the basic concepts of the bucket of words approach, but uses contextual extraction (e.g., noun, verb, etc.) to improve the accuracy of the results. Although this approach improves the accuracy of the results, it is also a much slower process, particularly because the content of the web page must be prefiltered in order for the analysis to be effective. Because certain contextual clues are dependent on the vertical market addressed by the web page (the subject matter, i.e., trade based content, or content based on specialized needs, for example, medical, mechanical engineering, etc.) different filters must be used for each vertical market. Prefiltering often involves human involvement in the process which further decreases the efficiency of the process by requiring important steps to be performed offline. As a result, natural language processing cannot be used to run an online real-time analysis of web pages to provide targeted content.
While it is possible to apply the bucket of words approach and the natural language processing approach to classify the targeted content, in many cases related web pages and advertisements are difficult to match together because the classification trees for each are not congruous, even though the subject matter may be. These problems can be dealt with by adding another layer of human involvement in the process, further decreasing efficiency, or by accepting further limitations on optimizing the targeting of the content.
The bucket of words approach and the natural language processing approach are therefore not complete solutions to the problems associated with providing targeted content. The results provided by these approaches are simply groups of words, such as grammar graphs, that may be used to identify the context of the group of words analyzed. However, these sets of words do not provide any map or instructions to link the words/context to targeted content. Moreover, neither solution is capable of analyzing large numbers of words with respect to each of the other words in the set. For example, a naïve Bayes classifier, or similar independent feature model, is only capable of computing pairs or tuples at best, before the model becomes too complex and computationally intractable.
A typical solution for online processing problems is to add more processing power. However, the challenges presented by the classification problem cannot be simply addressed by increasing the processing power of the system. Accordingly, an entirely new approach must be developed in order to provide an improved solution to the classification problem for providing targeted content.
It is also generally beneficial to provide targeted advertisements for display by a retailer with an internet presence, provided that these advertisements are not for competitive products. It should also be understood that the term products refers to both products and/or services. The said retailer with said internet presence may be referred to as the “originating retailer”, while the target of the advertisement, if a retailer, may be referred to as the “advertising retailer.” Further, non-competitive should be understood to mean generally accepted to not be competitive as understood by the originating retailer. The advertiser, the consumer and the originating retailer benefit from targeted non-competitive ads: the consumer receives ads that are related to his or her interests and/or shopping behavior, the originating retailer gets revenue from displaying the advertising, and the advertiser gets improved response by targeting ads at customers of the originating retailer. In order to provide such targeted advertisements, the provider must possess and effectively utilize information about the recipient, their interests and their current behavior, and further the provider must also posses and effectively utilize information about the advertisements from which the targeted advertisement(s) will be selected. Again, in this example, the targeted content is in the form of an advertisement.
In some cases, the advertiser is also an internet retailer providing goods and services. Further, in some of these cases, the advertisements may be generated from a catalog of products and services. For example, it may be beneficial for a retailer of cell phone ring tones and a retailer of music cds to cross market their non-competitive, perhaps complimentary products. Accordingly, it may be beneficial to provide an advertisement for a ring tone of a song from a particular artist that can be purchased at a first retailer to the purchaser of a compact disc of that particular artist from a second retailer. For example, when a customer buys a Dave Matthews Band CD from FYE.com, it may be beneficial to provide the customer an advertisement for Dave Matthews Band ringtones from a non-competitive retailer.
However, additional problems arise when attempting to effectively utilize targeting information to provide relevant non-competitive advertisements across retailers. The problem of providing such targeted, non-competitive advertisements is a type of prediction problem. A significant portion of this prediction problem is in classifying the context and interests of the recipient. The current solutions to this problem utilize keywords which come directly from a user's immediate search keywords, or from the name or description of a product currently being viewed. These approaches are inaccurate in that the words are analyzed without regard to the user's retail-specific behavior.
A second significant portion of this prediction problem is in classifying the advertisements, in order to accurately predict which of the products or services are relevant to the user. The current solutions to this problem require a user or system to provide keywords which relate to the products or services. This approach is inaccurate in that the words are analyzed without regard to their context or to the behavior of users who are exposed to these products or services.
Another third significant portion of this prediction problem is in identifying advertisements which are non-competitive. For retailers, the current solution is to manually identify and evaluate potential advertisers and advertisements. This approach is cumbersome and leads to a significant restriction of the scale of any potential solution.
Therefore, a need exists for a solution which takes into account at least the behavior of users on the originating retailer site, and at least the behavior of users who are exposed to these products or services, and further to do so while evaluating whether a potential advertiser is competitive to the originating retailer utilizing a more scalable approach, for example a rule-set.
Further problems arise when retailers join together to provide cooperative advertising. Cooperative advertising should be understood to be a form of advertising presented by a retailer which promotes a product or service to a consumer, where such product or service is sold by or related to said retailer, and such advertisement is presented at the request of a third party, most likely the brand or manufacturer of said product or service. It may be beneficial for a group of retailers to use economies of scale to send targeted cooperative advertisements to selected consumers, such that each consumer receives an advertisement provided by a retailer through which the consumer has a preexisting relationship. For example, to secure a relationship with a large brand, Nike, for example, each individual retailer may not have a sufficiently large customer base, but a collection of retailers acting together might be sufficiently large to be of interest to Nike. To this end, it is beneficial to identify a set of users from an original set of users originating from one or more retailers, to whom cooperative electronic advertising may be targeted. The originator of such an advertisement benefits by marketing specific products or services to the customer base of the one or more retailers, thereby increasing the exposure and potential sales of such products and services. The one or more retailers benefit from the revenue generated from the advertising. Further, the consumer benefits by being presented with relevant products or services.
A significant challenge with such a solution when retailers join together to provide cooperative advertising is the creation and utilization of selection models which would enable an advertiser to target the users of one or more retailers. Many advertisers will not purchase cooperative advertising from many single retailers because there is no solution which enables the application of a selection model to more than one retailer at a time. For each product or service an advertiser would like to advertise, an advertiser would currently have to apply a selection model to each potential retailer and interact with numerous systems, each different for each of the different retailers. This is a cumbersome approach which limits the financial viability of such advertisements to only the largest retailers and to only the most important products and services.
Therefore, a need exists for a solution which provides cooperative electronic advertising that leverages the economy of scale of aggregating numerous retailers, creating a single selection model across the one or more merchants.
Recommendation systems are complex to change, but business goals change frequently. Additionally, as different businesses have different needs, it is impossible, or at least incredibly complex, to systematize all of these different needs in a single automated product recommendation system. Further, a user friendly interface would be useful in allowing users to adapt a system to their needs.
Accordingly, a need exists for a system and method enabling a user to quickly and efficiently adapt an automated product recommendation system to meet current business objectives.
Recommendation systems analyze different data about customers and products to determine the best products to recommend to a user. The current state of the art combines many different variables into a single equation for determining products to recommend, or conversely for selecting users for which products are relevant. The approach of using a single equation to determine product recommendations is frequently referred to as a linear combination. These systems inherently have limitations in flexibility. Adding new data requires modifying the system to accommodate the data and then re-calibrating this single equation to use the data. This is cumbersome and requires changing a significant portion of the code. Further, a single equation can not respond quickly to recent trends. A recommendation system may further be designed to choose between competing sets of recommendations. The competing recommendation sets may be provided, for example, my systems utilizing different models. It may be possible to choose the highest quality recommendation or recommendation set by incorporating observed data into the selection process. However, again, the difficulty in updating each of the equations used to provide the various sets quickly becomes cumbersome and impractical. Therefore, a need exists to separate a recommendation system into smaller sub-systems such that it is able to accommodate new data streams more programmatically, without modifying the entire system.
Therefore, a need exists for a system and method enabling recommendations to be selected based on past performance of the model or models used to provide the recommendations.